package com.cskaoyan.javase.basic._2variable._3notice;

/**
 * 基本数据类型的类型转换的衍生——
 * 表达式的类型提升
 *
 * 对于一个表达式而言，如果存在多种数据类型
 * 那么表达式的结果是什么类型？
 * 表达式的结果会是 表达式中取值范围最大的那个数据类型
 *
 * @since 16:25
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo4 {
    public static void main(String[] args) {
        int a = 10;
        long b = 20;
        double c = 30;

        double result = a + b + c;

        /*
            注意事项：
                1.如果String字符串参与了拼接运算，那么表达式的结果一定是String
                2.如果char、byte、short类型三者互相参与运算，那么结果一定是int类型
                    比如char + byte
                    byte + byte
                    short + short
         */
        String str = a + b + c + "abc";
        byte b1 = 1;
        byte b2 = 2;
        int b3 = b1 + b2;

        // a的编码值是97
        char c1 = 'a';
        int result2 = b1 + c1;

    }
}
